package pe.gob.mintra.trabajadoreshogar.action;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.event.AjaxBehaviorEvent;

import pe.gob.mintra.trabajadoreshogar.bean.DatLab;
import pe.gob.mintra.trabajadoreshogar.bean.DetalleMotivoCese;
import pe.gob.mintra.trabajadoreshogar.bean.MotivoCese;
import pe.gob.mintra.trabajadoreshogar.service.MantenimientoService;

@ManagedBean(name = "principalAction")
@SessionScoped
public class PrincipalAction {

	@ManagedProperty(name = "objDatLab", value = "#{objDatLab}")
	private DatLab objDatLab = null;

	private List<MotivoCese> lstMotivoCese;
	private MotivoCese objMotivoCese = new MotivoCese();
	private List<DetalleMotivoCese> lstDetalleMotivoCese;
	private DetalleMotivoCese objDetalleMotivoCese = new DetalleMotivoCese();
	private MantenimientoService servicioMantenimiento = new MantenimientoService();
	private boolean muestraComboDetalleMotivoCese = false;

	public boolean isMuestraComboDetalleMotivoCese() {
		return muestraComboDetalleMotivoCese;
	}

	public void setMuestraComboDetalleMotivoCese(
			boolean muestraComboDetalleMotivoCese) {
		this.muestraComboDetalleMotivoCese = muestraComboDetalleMotivoCese;
	}

	public MotivoCese getObjMotivoCese() {
		return objMotivoCese;
	}

	public void setObjMotivoCese(MotivoCese objMotivoCese) {
		this.objMotivoCese = objMotivoCese;
	}

	public List<MotivoCese> getLstMotivoCese() {
		return lstMotivoCese;
	}

	public void setLstMotivoCese(List<MotivoCese> lstMotivoCese) {
		this.lstMotivoCese = lstMotivoCese;
	}

	public DatLab getObjDatLab() {
		return objDatLab;
	}

	public void setObjDatLab(DatLab objDatLab) {
		this.objDatLab = objDatLab;
	}

	public List<DetalleMotivoCese> getLstDetalleMotivoCese() {
		return lstDetalleMotivoCese;
	}

	public void setLstDetalleMotivoCese(
			List<DetalleMotivoCese> lstDetalleMotivoCese) {
		this.lstDetalleMotivoCese = lstDetalleMotivoCese;
	}

	public DetalleMotivoCese getObjDetalleMotivoCese() {
		return objDetalleMotivoCese;
	}

	public void setObjDetalleMotivoCese(DetalleMotivoCese objDetalleMotivoCese) {
		this.objDetalleMotivoCese = objDetalleMotivoCese;
	}

	public void muestraPrincipal() {
		lstMotivoCese = new ArrayList<MotivoCese>();
		lstMotivoCese = servicioMantenimiento.listarMotivoCese();
		
		//objDatLab.setN_cordetmot(1);
	}

	private boolean muestraBotonTerminacionContrato = false;

	public boolean isMuestraBotonTerminacionContrato() {
		return muestraBotonTerminacionContrato;
	}

	public void setMuestraBotonTerminacionContrato(
			boolean muestraBotonTerminacionContrato) {
		this.muestraBotonTerminacionContrato = muestraBotonTerminacionContrato;
	}

	public void cargarDetalleMotivoCese(AjaxBehaviorEvent event) {
		
		System.out.println("PRIMER COMBO ");
		
		lstDetalleMotivoCese = new ArrayList<DetalleMotivoCese>();
		lstDetalleMotivoCese = servicioMantenimiento
				.listarDetalleMotivoCese(objMotivoCese);
		objDatLab.setN_cordetmot(objMotivoCese.getN_cormot());

		if (objMotivoCese.getN_cormot() == 3) {

			muestraComboDetalleMotivoCese = true;

		} else {
			muestraComboDetalleMotivoCese = false;
		}
		
		
		if(objMotivoCese.getN_cormot()==2){
			
			muestraBotonTerminacionContrato=true;
			
		}else{
			muestraBotonTerminacionContrato=false;
		}
		
		
		// BLOQUE PARA QUE SE SETEEN LOS CAMPOS 
		// CADA VEZ QUE SE HAGA FOCO A FECHAS Y 
		// A MOTIVO DE CESE
		objDatLab.setN_montotcts(0);
		objDatLab.setN_montotgra(0);
		objDatLab.setN_montotvac(0);
		objDatLab.setN_montotind(0);

	}
	
	
	public void obtenerIdDetalleMotCese(AjaxBehaviorEvent event) {
		
		objDatLab.setN_cordetmot(objDetalleMotivoCese.getN_cordetmot());
		System.out.println("CODIGO SEGUNDO COMBO "+objDetalleMotivoCese.getN_cordetmot());
		
	}

}


